using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class PerfilxobjetoVO
	{
		// Impedir o uso de new para esta classe
		protected PerfilxobjetoVO() { }

		// Cria uma instancia desta classe
		public static PerfilxobjetoVO CreateVO()
		{
			PerfilxobjetoVO perfilxobjeto = new PerfilxobjetoVO();
			perfilxobjeto.idPerfilVO = PerfilVO.CreateVO();
			perfilxobjeto.idObjetoVO = ObjetoVO.CreateVO();
			return perfilxobjeto;
		}
		public static PerfilxobjetoVO CreateVO(int idPerfilXObjeto)
		{
			PerfilxobjetoVO obj = CreateVO();
			obj.idPerfilXObjeto = idPerfilXObjeto;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idPerfilXObjeto!=null?idPerfilXObjeto.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idPerfilXObjeto.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idPerfilXObjeto
		{
			get { return this._idPerfilXObjeto; }
			set { this._idPerfilXObjeto = value; }
		}
		private int _idPerfilXObjeto;
		public int idPerfil
		{
			get { return this._idPerfil; }
			set { this._idPerfil = value; 
			      if(value!=null) this.idPerfilVO.idPerfil = (int)value; }
		}
		private int _idPerfil;
		public int idObjeto
		{
			get { return this._idObjeto; }
			set { this._idObjeto = value; 
			      if(value!=null) this.idObjetoVO.idObjeto = (int)value; }
		}
		private int _idObjeto;
		public bool? visivel
		{
			get { return this._visivel; }
			set { this._visivel = value; }
		}
		private bool? _visivel;
		public bool? habilitado
		{
			get { return this._habilitado; }
			set { this._habilitado = value; }
		}
		private bool? _habilitado;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public PerfilVO idPerfilVO
		{
			get { return this._idPerfilVO; }
			set { this._idPerfilVO = value; }
		}
		private PerfilVO _idPerfilVO;
		public ObjetoVO idObjetoVO
		{
			get { return this._idObjetoVO; }
			set { this._idObjetoVO = value; }
		}
		private ObjetoVO _idObjetoVO;
		#endregion
	}
}
